: ALIASES -- 4DOS Sample Alias File : The aliases in this file are designed to give you some examples of : how 4DOS aliases can be used and the power they have. It is not : intended to be an exhaustive list, and many of these may not be : appropriate for your needs. But they should give you a feel for how : to use aliases to help get your work done. : CAUTION: These aliases are EXAMPLES. We do NOT promise that they : will work properly when run on your system. They are simply intended : to show what's possible and give you a feel for how to write your : own set of aliases. You may find some of them useful, but others : may fail or have unintended effects when they are run on a system : other than the one they were designed for. : This file is designed to be loaded with an ALIAS /R command, for : example: : alias /r aliases : You can also load aliases from a batch file, but ALIAS /R is much : faster. See the manual for more details on loading aliases. : We suggest you put your standard aliases are in a self-contained : file like this one which can be invoked from AUTOEXEC. That : way the file can also be re-invoked after it is edited, to re- : install the aliases. : The next few aliases set up some directory commands that provide : shorthand ways to view the directory in several different formats : (see the DIR command in the manual for more details). : Note that none of these aliases has any arguments specified (%1, : %2, etc.). This means that all arguments on the actual command line : will be appended to the alias text. For example: : d2 x* : is equivalent to: : dir /2pv x* : and: : d2 x* y* z* : is equivalent to: : dir /2pv x* y* z* d2 dir /2pv de dir /oe dir *dir /p wh*ereis dir /dp : The last two commands above demonstrate the use of an asterisk to : terminate alias expansion and to shorten the name of an alias. : In the first case, if the command were defined as: : alias dir dir/p : it would generate an alias loop error. The inclusion of the "*" : makes 4DOS terminate alias expansion for that command, which : allows the redefinition of a command with specific switch settings. : In this case "dir" is redefined as "dir/p", which will cause : directories to be displayed with a pause at the end of each page. : The "whereis" command demonstrates truncation of an alias name. : The * is placed after the last required character in the name, so : the "whereis" command can be entered as "wh", "whe", "wher", : "where", "wherei", or "whereis". : The following aliases are more shorthand: DD and DU (directory : down and directory up) for pushd and popd, DX (shows only the : subdirectorie, L for list, etc. dd pushd du popd dx *dir /mwad l list clr mode mono : Aliases can also be used to modify the behavior of some internal : commands. The two examples below show how you can force DELETE and : MOVE to prompt before execution. If you need to use the unprompted : command, use the leading asterisk ("*DEL"). del*ete *del /p move *move /r : The next aliases show how some commands can be enhanced. Instead of : always prompting you for new values, TIME and DATE can simply report : the current information. date echo Today is %_dow %_date time echo The time is %_time : Here's what the next few aliases do: : more: Uses 4DOS's LIST /S as a substitute for the DOS MORE : command. Note the use of the * to allow the command : to be entered as MO, MOR, or MORE : ff: Uses the 4DOS FFIND command to find a file anywhere : in the current directory or any of its subdirectories, : for example: : ff *.dat : fft: Like FF, but assumes that the second and following : arguments are text to look for within the files. For : example, to find all .DAT files with the string "hello : Barbara" in them you could use this command: : fft *.dat hello barbara : sdel: Allows you to select files for deletion from a subset : of files as specified in the command argument. For : example: : sdel *.obj : will allow you to select files to delete from a list : of all .obj files. (See the SELECT command in the : manual for more details). : up: Moves "up" in the directory tree, i.e. to the parent : directory. : ov: Moves "over" in the directory tree, to another subdi- : rectory which has the same parent as the current : directory. mo*re list /s ff ffind /s fft ffind /s /t"%2&" %1 sdel select del (%1) up cd .. ov cd ..\%1 : The next two aliases show how arguments can be passed to commands. : In both cases the argument given when the alias is invoked is passed : to the program at the appropriate place in its command string. lp lpr -u %1 >lpt1 ps d:\peri\ps /t:%1 /e:4 : The next few aliases demonstrate several things. Some use the : command separator character ^ to include multiple commands in : the alias. ND2 uses the "&&" (AND) operator so that the second : command is only executed if the first was succcessful. The last : two (PC and BACK) use the alias called IN to do their job. In : fact IN was designed for "internal" use by other aliases in this : file, though it could be used elsewhere as well. Note that, while : PX is set up before it is referenced in other aliases, this is not : really necessary, because any command in one alias which refers to : another is handled when the alias is invoked, not when it is set : up with the alias command. : Here's what each alias does: : nd: Creates a new directory below the current directory, : then changes to it. : nd2: Attempts to creates the specified directory on any : drive, then changes to it if the creation was : successful. : w: Saves the current directory, changes to the ws : directory on drive c:, runs the ws program using : the first argument on the command line, and : restores the original directory when done. : zap: Deletes all the .bak files in the current directory, : then does a wide directory listing. : in: "Pushes" a different directory, executes a command, : including all of the arguments on the command line, : and then goes back to the original directory. See : PUSHD, POPD, and Alias Parameters in the manual for : more details. : pc: Changes to the \comm directory on drive c:, runs : the program called pcomm, then returns to the : drive and directory in use when the command was : executed. : back: Changes to the \backup directory on drive d:, runs : the program called tape, then returns to the previous : drive and directory. nd md %1^cd %1 nd2 md %1 && *cdd %1 w pushd c:\wp^ws %1^popd zap del *.bak^dir /w in pushd %1^%2&^popd pc in c:\comm pcomm back in d:\backup tape : The following aliases make use of the %& argument. This argument : means "all of the arguments on the command line". For example: : zap2 *.bak *.lst *.bk! : expands to: : erase *.bak *.lst *.bk!^chkdsk^dir /w : The last of the three aliases below uses the %@eval function to : create a command-line calculator, by simply passing all arguments : on the command line to the function. zap2 erase %&^chkdsk^dir /w ed edit %&^del *.bak cal*c echo The answer is: %@eval[%&] : The following two aliases, taken from the manual, show how to : combine alias with keystack to invoke a program and pass parameters : to it. See the manual for details on what they do. Note that the : 0s in the keystack strings simulate an empty keyboard buffer; the : 13s are carriage returns. 321 keystack 0 13 0 13 0 13 0 13 0 13 "/fr" 0 "%1" 13^123 drpt pushd c:\data^keystack "use times index times" 13 "report form timerep to print" 13 "quit" 13^dbase^popd : The following aliases show the use of IFF in aliases. The first : redefines SET so that it displays the environment variables with a : /P if no parameters are given, or processes the SET if parameters : are specified. The second checks whether the argument is a directory; : if so it deletes the files in the directory and then removes the : directory. If not, it gives an error message. set iff "%1"=="" then ^ *set /p ^ else *set %& ^ endiff zap iff isdir %1 then ^ *del %1 ^ *rd %1 ^ else ^ beep ^ echo Not a directory! ^ endiff : You can also assign any alias to a keystroke to save a lot of typing. : Check your manual for the proper way to express keynames. : The following examples reassign the following keys: : F5 wide directory : Ctrl-F1 clear screen : Alt-F1 invokes another HELP program : Shift-F10 "exit" (useful when "shelling out") : Note that the last alias, for Shift-F10, uses a leading @@. This : makes the alias execute immediately, rather than waiting for you to : press Enter. @f5 dir /w @Ctrl-F1 cls @alt-f1 c:\dos\help @@shift-f10 exit